﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EntidadesCompartidas;
using Persistencia;
using System.Data.SqlClient;
using System.Data;

namespace Logica.Datos
{
    public class LogPlano:Interfaces.ILPlano
    {
        //Elementos que determinan el singleton
        //1- Atributo de Clase
        private static LogPlano _miLogicaPlano = null;
        //2- Constructor
        private LogPlano() { }
        //3- Metodo de Clase
        public static LogPlano GetPlano()
        {
            if (_miLogicaPlano == null)
            {
                _miLogicaPlano = new LogPlano();
            }
            return _miLogicaPlano;

        }
        /////////////////////////////////////////////////////////////////////////////////////////////

        #region Miembros de ILPlano

        public Plano BuscarPlano(int pId)
        {
            Persistencia.Interfaces.IPersPlano LPlano = FabricaPersistencia.getPersPlano();
            return (LPlano.BuscarPlano(pId));
        }

        public List<Plano> ListarPlanosXcasa(Casa pCasa)
        {
            Persistencia.Interfaces.IPersPlano LPlano = FabricaPersistencia.getPersPlano();
            return (LPlano.ListarPlanosXcasa(pCasa));
        }

        public int AltaImagenPlano(Plano pPlano)
        {
            Persistencia.Interfaces.IPersPlano LPlano = FabricaPersistencia.getPersPlano();
            return LPlano.AltaImagenPlano(pPlano);
        }

        public bool ModificarImagenPlano(Plano pPlano)
        {
            Persistencia.Interfaces.IPersPlano LPlano = FabricaPersistencia.getPersPlano();
            return (LPlano.ModificarImagenPlano(pPlano) == 1);
        }

        public bool AgregarColeccionesPlano(Plano pPlano)
        {
            Persistencia.Interfaces.IPersPlano LPlano = FabricaPersistencia.getPersPlano();
            return (LPlano.AgregarColeccionesPlano(pPlano) == 1);
        }

        public bool EliminarPlano(Plano pPlano)
        {
            Persistencia.Interfaces.IPersPlano LPlano = FabricaPersistencia.getPersPlano();
            return (LPlano.EliminarPlano(pPlano) == 1);
        }

        public bool EliminarColeccionesPlano(Plano pPlano)
        {
            Persistencia.Interfaces.IPersPlano LPlano = FabricaPersistencia.getPersPlano();
            return (LPlano.EliminarColeccionesPlano(pPlano) == 1);
        }

        #endregion



    }
}
